package com.hst.web.base.ui;

import java.sql.Timestamp;
import java.util.List;

import com.hst.core.meta.MetaData;
import com.hst.core.meta.annotation.EAuth;
import com.hst.core.meta.annotation.EField;
import com.hst.core.meta.annotation.EInfo;
import com.hst.core.meta.annotation.FieldQuery;
import com.hst.web.base.entity.TVehicleInfo;
import com.hst.web.base.proxy.CompanyVehicleProxy;

@EAuth(value = "10003", edit = "1000301", create = "1000302", del = "1000303", exp = "1000304")
@EInfo(name = "company-vehicle", title = "企业车辆信息", entity = TVehicleInfo.class, proxy = CompanyVehicleProxy.class)
public class CompanyVehicle extends MetaData {

	@EField(name = "vehicleCode", title = "车辆编号", list = false, form = 0)
	private String vehicleCode;

	@EField(mapped = false, title = "所属企业", form = 0, role = "9", query = FieldQuery.EQ, viewer = "dict.company-all", editor = "select.company-info")
	private String companyCode;

	@EField(mapped = false, form = 0, validate = "required", role = "2", title = "所属部门", editor = "select.company-dept", viewer = "dict.dept-all", query = FieldQuery.EQ)
	private String deptCode;

	@EField(name = "plateNo", title = "车牌号", validate = "required|max:20", query = FieldQuery.LIKE)
	private String plateNo;

	@EField(name = "plateNo2", title = "车牌号2", form = 3, validate = "max:20")
	private String plateNo2;

	@EField(name = "plateColor", title = "车牌颜色", editor = "select.plateColor", viewer = "dict.plateColor")
	private String plateColor;

	@EField(name = "engineNo", title = "发动机号", validate = "required|max:60", query = FieldQuery.LIKE)
	private String engineNo;

	@EField(name = "ownerName", title = "车主姓名", query = FieldQuery.LIKE, validate = "required|max:100")
	private String ownerName;

	@EField(name = "employeeCode", title = "所属员工", form = 1, editor = "chooseEmployee.company-employee", viewer = "employeeName", validate = "required")
	private String employeeCode;

	@EField(name = "vehicleType", title = "车辆类型", list = false, editor = "select.vehicleType", viewer = "dict.vehicleType", validate = "required")
	private String vehicleType;

	@EField(name = "useCharacter", title = "使用性质", list = false, editor = "select.useCharacter", viewer = "dict.useCharacter", validate = "required")
	private String useCharacter;

	@EField(name = "fileNo", title = "驾驶证档案号", list = false, validate = "max:32")
	private String fileNo;
	
	@EField(name = "drvlicenceType", title = "驾驶证类型", list = false, editor = "select.drvlicenceType", viewer = "dict.drvlicenceType")
	private String drvlicenceType;
	
	@EField(name = "drvlicenceExp", title = "驾驶证有效期", editor = "date", list = false)
	private String drvlicenceExp;
	
	@EField(name = "certificateType", title = "资格证类型", form = 0, list = false, editor = "select.certificatetType", viewer = "dict.certificatetType")
	private String certificateType;
	
	@EField(name = "prdTransportNo", title = "资格证号码", form = 0, list = false)
	private String prdTransportNo;
	
	@EField(name = "prdTransportExp", title = "资格证有效期", form = 0, editor = "date", list = false)
	private String prdTransportExp;

	@EField(name = "goods", title = "货物名称", list = false, validate = "max:32")
	private String goods;

	@EField(name = "policyExp", title = "保单结束日期", editor = "date", list = false)
	private String policyExp;

	@EField(name = "issueNo", title = "通行证卡号", form = 3, validate = "max:20")
	private String issueNo;
	
	@EField(name = "beginExpirydate", list = false, title = "有效期开始时间", form = 0)
	private Timestamp beginExpirydate;

	@EField(name = "endExpirydate", title = "通行证有效期", viewer="date", form = 0)
	private Timestamp endExpirydate;
	
	@EField(name = "passOld", title = "旧版通行证卡号", form = 3, validate = "max:20")
	private String passOld;

	@EField(name = "vrdTransportNo", title = "道路运输证号", list = false, validate = "max:50")
	private String vrdTransportNo;
	
	@EField(name = "vrdTransportExp", title = "道路运输证有效期", editor = "date", list = false)
	private String vrdTransportExp;

	@EField(group = "附件", name = "frontPhoto", title = "车辆正面照片", list = false, editor = "uploadImg2.frontPhoto", validate = "required")
	private String frontPhoto;

	@EField(name = "policyImg", title = "保单照片", list = false, editor = "uploadImg2.policyImg")
	private String policyImg;

	@EField(name = "relationImg", title = "车主关系证明照片", list = false, editor = "uploadImg2.relationImg")
	private String relationImg;

	@EField(name = "vrdTransportImg", title = "道路运输证照片", list = false, editor = "uploadImg2.vRdTransportImg", validate = "required")
	private String vrdTransportImg;
	
	@EField(name = "driverPassImg", title = "驾驶员从业证照片", list = false, editor = "uploadImg2.driverPassImg", validate = "required")
	private String driverPassImg;
	
	@EField(name = "supercargoPassImg", title = "押运员从业证照片", list = false, editor = "uploadImg2.supercargoPassImg", validate = "required")
	private String supercargoPassImg;

	@EField(name = "oldpassStatus", title = "旧版车辆证状态", list = false, form = 0)
	private String oldpassStatus;

	@EField(name = "pushflag", title = "下发状态", list = false, form = 0, editor = "select.pushflag", viewer = "dict.pushflag")
	private String pushflag;

	@EField(name = "checkStatus", title = "审核状态", form = 0, editor = "select.checkstatus", viewer = "dict.checkstatus", query = FieldQuery.EQ)
	private String checkStatus;

	@EField(name = "reviewStatus", title = "复核状态", form = 0, editor = "select.reviewstatus", viewer = "dict.reviewstatus")
	private String reviewStatus;

	@EField(mapped = false, list = false, form = 0)
	private List<VehicleSub> vehicleSub;

	@EField(mapped = false, list = false, form = 0)
	private String deg;

	@EField(mapped = false, list = false, form = 0)
	private String reverse;

	@EField(name = "mainType", title = "重点类型", list = false, form = 0, editor = "select.vehicleMainType", viewer = "dict.vehicleMainType")
	private String mainType;

	public String getMainType() {
		return mainType;
	}

	public void setMainType(String mainType) {
		this.mainType = mainType;
	}

	public String getDeg() {
		return deg;
	}

	public void setDeg(String deg) {
		this.deg = deg;
	}

	public String getReverse() {
		return reverse;
	}

	public void setReverse(String reverse) {
		this.reverse = reverse;
	}

	public String getVehicleCode() {
		return vehicleCode;
	}

	public void setVehicleCode(String vehicleCode) {
		this.vehicleCode = vehicleCode;
	}

	public String getEmployeeCode() {
		return employeeCode;
	}

	public void setEmployeeCode(String employeeCode) {
		this.employeeCode = employeeCode;
	}

	public String getPlateNo() {
		return plateNo;
	}

	public void setPlateNo(String plateNo) {
		this.plateNo = plateNo;
	}

	public String getPushflag() {
		return pushflag;
	}

	public void setPushflag(String pushflag) {
		this.pushflag = pushflag;
	}

	public String getCheckStatus() {
		return checkStatus;
	}

	public void setCheckStatus(String checkStatus) {
		this.checkStatus = checkStatus;
	}

	public String getReviewStatus() {
		return reviewStatus;
	}

	public void setReviewStatus(String reviewStatus) {
		this.reviewStatus = reviewStatus;
	}

	public String getPlateColor() {
		return plateColor;
	}

	public void setPlateColor(String plateColor) {
		this.plateColor = plateColor;
	}

	public String getEngineNo() {
		return engineNo;
	}

	public void setEngineNo(String engineNo) {
		this.engineNo = engineNo;
	}

	public String getOwnerName() {
		return ownerName;
	}

	public void setOwnerName(String ownerName) {
		this.ownerName = ownerName;
	}

	public String getVehicleType() {
		return vehicleType;
	}

	public void setVehicleType(String vehicleType) {
		this.vehicleType = vehicleType;
	}

	public String getUseCharacter() {
		return useCharacter;
	}

	public void setUseCharacter(String useCharacter) {
		this.useCharacter = useCharacter;
	}

	public String getGoods() {
		return goods;
	}

	public void setGoods(String goods) {
		this.goods = goods;
	}

	public String getPolicyExp() {
		return policyExp;
	}

	public void setPolicyExp(String policyExp) {
		this.policyExp = policyExp;
	}

	public String getIssueNo() {
		return issueNo;
	}

	public void setIssueNo(String issueNo) {
		this.issueNo = issueNo;
	}

	public String getPassOld() {
		return passOld;
	}

	public void setPassOld(String passOld) {
		this.passOld = passOld;
	}

	public String getFrontPhoto() {
		return frontPhoto;
	}

	public void setFrontPhoto(String frontPhoto) {
		this.frontPhoto = frontPhoto;
	}

	public String getVrdTransportExp() {
		return vrdTransportExp;
	}

	public void setVrdTransportExp(String vrdTransportExp) {
		this.vrdTransportExp = vrdTransportExp;
	}

	public String getVrdTransportNo() {
		return vrdTransportNo;
	}

	public void setVrdTransportNo(String vrdTransportNo) {
		this.vrdTransportNo = vrdTransportNo;
	}

	public String getVrdTransportImg() {
		return vrdTransportImg;
	}

	public void setVrdTransportImg(String vrdTransportImg) {
		this.vrdTransportImg = vrdTransportImg;
	}

	public String getPolicyImg() {
		return policyImg;
	}

	public void setPolicyImg(String policyImg) {
		this.policyImg = policyImg;
	}

	public String getRelationImg() {
		return relationImg;
	}

	public void setRelationImg(String relationImg) {
		this.relationImg = relationImg;
	}

	public String getOldpassStatus() {
		return oldpassStatus;
	}

	public void setOldpassStatus(String oldpassStatus) {
		this.oldpassStatus = oldpassStatus;
	}

	public Timestamp getBeginExpirydate() {
		return beginExpirydate;
	}

	public void setBeginExpirydate(Timestamp beginExpirydate) {
		this.beginExpirydate = beginExpirydate;
	}

	public Timestamp getEndExpirydate() {
		return endExpirydate;
	}

	public void setEndExpirydate(Timestamp endExpirydate) {
		this.endExpirydate = endExpirydate;
	}

	public List<VehicleSub> getVehicleSub() {
		return vehicleSub;
	}

	public void setVehicleSub(List<VehicleSub> vehicleSub) {
		this.vehicleSub = vehicleSub;
	}

	public String getPlateNo2() {
		return plateNo2;
	}

	public void setPlateNo2(String plateNo2) {
		this.plateNo2 = plateNo2;
	}

	public String getCompanyCode() {
		return companyCode;
	}

	public void setCompanyCode(String companyCode) {
		this.companyCode = companyCode;
	}

	public String getDeptCode() {
		return deptCode;
	}

	public void setDeptCode(String deptCode) {
		this.deptCode = deptCode;
	}

	public String getFileNo() {
		return fileNo;
	}

	public void setFileNo(String fileNo) {
		this.fileNo = fileNo;
	}

	public String getDrvlicenceType() {
		return drvlicenceType;
	}

	public void setDrvlicenceType(String drvlicenceType) {
		this.drvlicenceType = drvlicenceType;
	}

	public String getDrvlicenceExp() {
		return drvlicenceExp;
	}

	public void setDrvlicenceExp(String drvlicenceExp) {
		this.drvlicenceExp = drvlicenceExp;
	}

	public String getCertificateType() {
		return certificateType;
	}

	public void setCertificateType(String certificateType) {
		this.certificateType = certificateType;
	}

	public String getPrdTransportNo() {
		return prdTransportNo;
	}

	public void setPrdTransportNo(String prdTransportNo) {
		this.prdTransportNo = prdTransportNo;
	}

	public String getPrdTransportExp() {
		return prdTransportExp;
	}

	public void setPrdTransportExp(String prdTransportExp) {
		this.prdTransportExp = prdTransportExp;
	}

	public String getDriverPassImg() {
		return driverPassImg;
	}

	public void setDriverPassImg(String driverPassImg) {
		this.driverPassImg = driverPassImg;
	}

	public String getSupercargoPassImg() {
		return supercargoPassImg;
	}

	public void setSupercargoPassImg(String supercargoPassImg) {
		this.supercargoPassImg = supercargoPassImg;
	}

}
